package decimal;

import com.alibaba.fastjson.JSON;
import org.junit.Test;

import java.math.BigDecimal;
import java.util.Arrays;
import java.util.List;

/**
 * @Auther lujieni
 * @Date 2020/6/23
 */
public class TestBigDecimal {

    /**
     * BigDecimal的操作都需要用新对象来接
     */
    @Test
    public void test(){
        BigDecimal num1 = new BigDecimal(0);
        BigDecimal num2 = num1.add(new BigDecimal(5));
        System.out.println(num1);//仍就是0
        System.out.println(num2);//用num2去接才是5
    }

    @Test
    public void test2(){
        BigDecimal a = new BigDecimal("1.00");
        BigDecimal b = new BigDecimal("1.01");
        System.out.println(a.compareTo(b));
    }

    @Test
    public void test3(){
        BigDecimal a =  BigDecimal.valueOf(2.225667); // 推荐做法不会有精度丢失
        BigDecimal b = new BigDecimal("2.225667"); // 推荐做法不会有精度丢失
        System.out.println(a);
        System.out.println(b);
    }

    /**
     * 按照代码来 这里就是 (12+10)*2
     */
    @Test
    public void test4(){
        BigDecimal result = BigDecimal.valueOf(12).add(BigDecimal.TEN).multiply(BigDecimal.valueOf(10));
        System.out.println(result);
    }

}
